The present invention relates to the emulation of one data processing system by another. More specifically, the present invention relates to the modification of a host data processing system to emulate another, dissimilar target system with a central processor (CPU) which is capable of executing a set of instructions different than those executable by the host system's CPU.
Many techniques for emulating a target data processing system are known. Such a technique may alternatively be described as a simulation of the target system, as making another system compatible with the target system, or as providing the target system as a virtual machine on a host system. U.S. Pat. No. 4,253,145 contains a helpful discussion of virtual machines in the prior art, most of which simulate mainframe computers so that programs written for the simulated computer can be run on the virtual machine.
In recent years, a vast amount of software has been written for a microprocessor-based data processing system called the IBM PC or IBM PC XT ("PC"), produced by International Business Machines Corporation. In order to make their products more useful, many manufacturers have developed systems which are either equivalent to the PC or can be made to operate in an equivalent manner by the use of software. Hardware and software technology have progressed rapidly, however, so that systems far more powerful than the PC can be produced for roughly the same cost. To devote such a system to the running of PC software is to sacrifice capabilities it could otherwise have. Therefore, it would be useful to have a technique for modifying one of these more powerful systems so that it could run software written for the PC without limiting its other capabilities.